package com.simple.common.entity.dto.pay;

import com.simple.common.entity.po.sys.ChannelComp;
import com.simple.common.entity.po.sys.Product;
import com.simple.common.entity.po.sys.Trade;
import com.simple.common.entity.ReqContext;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * @author yasud
 * @date 2020年10月28日 15:18
 * @description
 */
@Data
public class CallbackResultDto extends CallbackDto {

    /**
     * 交易
     */
    private Trade trade;

    /**
     * 提供方便方法
     *
     * @param body
     * @param requestTime
     * @param param
     * @param headers
     * @return
     */
    public static CallbackResultDto generateCallbackDto(String body,
                                                        Map<String, Object> param,
                                                        Map<String, Object> headers,
                                                        Trade trade,
                                                        Date requestTime,
                                                        ChannelComp channel,
                                                        ReqContext reqContext,
                                                        Product product) {
        CallbackResultDto callbackDto = new CallbackResultDto();
        callbackDto.setChannel(channel);
        callbackDto.setContext(reqContext);
        callbackDto.setProduct(product);
        callbackDto.setBody(body);
        callbackDto.setHeaders(headers);
        callbackDto.setParam(param);
        callbackDto.setRequestTime(requestTime);
        callbackDto.setTrade(trade);
        return callbackDto;
    }
}
